package com.ossjk.qlh.system.service;

import com.ossjk.qlh.system.entity.Role;
import com.ossjk.qlh.system.vo.RoleVo;

import java.io.Serializable;
import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 * 角色表 服务类
 * </p>
 *
 * @author chair
 * @since 2020-02-07
 */
public interface IRoleService extends IService<Role> {

	boolean saveVo(RoleVo roleVo);

	RoleVo getVoById(Serializable id);

	boolean updateVoById(RoleVo roleVo);

	/**
	 * 删除角色子节点，包含角色部门关联
	 * 
	 * @param id
	 * @return
	 */
	boolean removeChildrenById(Serializable id);

	/**
	 * 根据用户id获取角色id
	 * 
	 * @param uid
	 * @return
	 */
	List<String> listUserRidByUid(String uid);

	/**
	 * 查找所有子节点（不包含自身）
	 * 
	 * @param uid
	 * @return
	 */
	List<Role> queryChildrenByPid(Serializable pid, List<Role> parent);
}
